Dependency Smells in JavaScript Projects

نویسندگان

چکیده

Dependency management in modern software development poses many challenges for developers who wish to stay up date with the latest features and fixes whilst ensuring backwards compatibility. Project maintainers have opted varied, sometimes conflicting, approaches maintaining their dependencies. Opting unsuitable can introduce bugs vulnerabilities into project, breaking changes, cause extraneous installations, reduce dependency understandability, making it harder others contribute effectively. In this paper, we empirically examine evidence of recurring issues (dependency smells). We look at commit data a dataset 1,146 active JavaScript repositories catalog, quantify understand smells. Through series surveys practitioners, identify seven smells varying degrees popularity investigate why they are introduced throughout project history. Our findings indicate that prevalent projects two or more distinct appearing 80% projects, but generally infect minority project's observations show number tend increase over time. Practitioners agree bring about problems including security threats, bugs, breakage, runtime errors, other maintenance issues. These as react misbehaviour shortcomings npm ecosystem.

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Uncovering JavaScript Performance Code Smells Relevant to Type Mutations

In dynamic typing languages such as JavaScript, object types can be mutated easily such as by adding a field to an object. However, compiler optimizations rely on a fixed set of types, unintentional type mutations can invalidate the speculative code generated by the type-feedback JIT and deteriorate the quality of compiler optimizations. Since type mutations are invisible, finding and understan...

متن کامل

On the Use of Smelly Examples to Detect Code Smells in JavaScript

JavaScript has become one of the widely-used languages. However, as the size of JavaScript-based applications grows, the number of defects grows as well. Recent studies have produced a set of manually defined rules to identify these defects. We propose, in this work, the automation of deriving these rules to ensure scalability and potentially the detection of a wider set of defects without requ...

متن کامل

Type-based Dependency Analysis for JavaScript Technical Report

Dependency analysis is a program analysis that determinespotential data flow between program points. While it is not asecurity analysis per se, it is a viable basis for investigatingdata integrity, for ensuring confidentiality, and for guaran-teeing sanitization. A noninterference property can be statedand proved for the dependency analysis.We have designed and implement...

متن کامل

How Do Community Smells Influence Code Smells?

Code smells reflect sub-optimal patterns of code that often lead to critical software flaws or failure. In the sameway, community smells reflect sub-optimal organisational and socio-technical patterns in the organisational structure of the software community. To understand the relation between the community smells and code smells we start by surveying 162 developers of nine opensource systems. ...

متن کامل

Code smells

s, titles and keywords were analysed by VOSviewer using default parameters. All common terms like study, baseline, control group, trend, method were excluded from the analysis. Three maps were induced (1) clustered landscapes presenting popularity of terms (more popular terms are presented in larger squares), associations between terms (terms locted near each other are stongly associated) and r...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: IEEE Transactions on Software Engineering

سال: 2022

ISSN: ['0098-5589', '1939-3520', '2326-3881']

DOI: https://doi.org/10.1109/tse.2021.3106247